Fix get_page_type() when passed PGT_va_mutable.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 28 Mar 2006 20:21:26 +0000 (21:21 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 28 Mar 2006 20:21:26 +0000 (21:21 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/mm.c

index 4977a6d2da742c30d58db31d5e8fafc9c6185299..564d7e6f98e72a9f57b31f534348388e6073b562 100644 (file)
@@ -1528,10 +1528,9 @@ int get_page_type(struct page_info *page, unsigned long type)
                     nx &= ~PGT_va_mask;
                     nx |= type; /* we know the actual type is correct */
                 }
-                else
+                else if ( (type & PGT_va_mask) != PGT_va_mutable )
                 {
                     ASSERT((type & PGT_va_mask) != (x & PGT_va_mask));
-                    ASSERT((type & PGT_va_mask) != PGT_va_mutable);
 #ifdef CONFIG_X86_PAE
                     /* We use backptr as extra typing. Cannot be unknown. */
                     if ( (type & PGT_type_mask) == PGT_l2_page_table )